package com.ruoyi.match.mapper;

import java.util.List;
import com.ruoyi.match.domain.NoticeConfirm;
import org.apache.ibatis.annotations.Param;

/**
 * 公告确认Mapper接口
 * 
 * @author zhangrui
 * @date 2025-04-05
 */
public interface NoticeConfirmMapper 
{
    /**
     * 查询公告确认
     * 
     * @param noticeId 公告确认主键
     * @return 公告确认
     */
    public NoticeConfirm selectNoticeConfirmByNoticeId(Long noticeId);

    /**
     * 查询公告确认列表
     * 
     * @param noticeConfirm 公告确认
     * @return 公告确认集合
     */
    public List<NoticeConfirm> selectNoticeConfirmList(NoticeConfirm noticeConfirm);

    /**
     * 新增公告确认
     * 
     * @param noticeConfirm 公告确认
     * @return 结果
     */
    public int insertNoticeConfirm(NoticeConfirm noticeConfirm);

    /**
     * 修改公告确认
     * 
     * @param noticeConfirm 公告确认
     * @return 结果
     */
    public int updateNoticeConfirm(NoticeConfirm noticeConfirm);

    /**
     * 删除公告确认
     * 
     * @param noticeId 公告确认主键
     * @return 结果
     */
    public int deleteNoticeConfirmByNoticeId(Long noticeId);

    /**
     * 批量删除公告确认
     * 
     * @param noticeIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteNoticeConfirmByNoticeIds(Long[] noticeIds);

    //查询所有该用户确认过的公告id
    List<Long> findConfirmedNotices(@Param("noticeIds") List<Long> noticeIds,@Param("userId")  Long userId);


    //查询所确认过某个公告的用户的名称字符串
    public String selectConfirmedNames(Long noticeId);

    //查询某个公告确认者数量
    public int selectConfirmedCount(Long noticeId);

    void deleteNoticeConfirmByNoticeIds2(@Param("noticeIds") List<Long> noticeIds);

}
